package org.lucava.boatskeeper.client;

import java.util.List;

import org.lucava.boatskeeper.shared.Boat;
import org.lucava.boatskeeper.shared.User;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface BoatsKeeperServiceAsync {

	public void addBoat(Boat aBoat, AsyncCallback<Boat> callback);

	public void deleteBoat(Integer id, AsyncCallback<Boolean> callback);

	public void deleteBoats(List<Integer> ids,
			AsyncCallback<List<Boat>> callback);

	public void getBoats(AsyncCallback<List<Boat>> callback);

	public void getBoat(Integer id, AsyncCallback<Boat> callback);

	public void updateBoat(Boat aBoat, AsyncCallback<Boat> callback);

	public void addUser(User anUser, AsyncCallback<User> callback);

	public void deleteUser(Integer id, AsyncCallback<Boolean> callback);

	public void deleteUsers(List<Integer> ids,
			AsyncCallback<List<User>> callback);

	public void getUsers(AsyncCallback<List<User>> callback);

	public void getUser(Integer id, AsyncCallback<User> callback);

	public void updateUser(User aUser, AsyncCallback<User> callback);

}
